In a distributed computing application, the proxy pattern is commonly used to represent software services running on another device. The proxy typically contains the network address of the device, which is necessary to communicate with that service. Modern mobile devices support multiple means for connecting to the Internet, e.g. WiFi, WiMAX, 3G, 4G, etc. In addition, their network address is subject to change with high frequency in comparison to more stationary devices such as servers and desktop computers. When a device's network address changes, any remote proxies that have the device's old address will no longer be usable. The application must update all proxies to contain the new address.
The application developer is normally responsible for handling proxies that become invalid. Each proxy in use must be recreated or updated to use the new network address of the service it is a proxy to. This process is error-prone and places a burden on the application developer to ensure all proxies have been updated.
What is required is an improved system and method for providing proxies in distributed computing applications.